/*
* http 模块用于构建 web 服务器
* */
const http = require('http');
const fs = require('fs');


/*
* 返回一个 web 服务器
* */
const server = http.createServer(function (req, res) {
    /*
    * req 请求头信息，包含了请求相关的信息
    * */
    console.log(req.method, '请求的方式');
    console.log(req.url, '请求的 url 地址');
    let requestUrl = req.url;

    /*
    * res 响应头信息，可以给客户端响应内容
    *
    * 默认情况下，改了代码后，nodejs 不会重新执行最新的代码，需要手工的进行重启一下
    *
    * nodemon 这个是一个可以监视文件变化的命令，一旦文件变化后，重新使用 node 执行该文件
    * -g 全局安装，安装后在我们的命令行提供一个 nodemon 命令
    *
    * 安装的时候要以超级管理员的身份安装 nodemon
    *
    * > npm install -g nodemon
    *
    * */
    let html = ``;

    if (requestUrl == '/') {
        // 网页文件外置
        html = fs.readFileSync('./views/index.html', 'utf-8');
        res.write(html);
    } else if (requestUrl == '/about') {
        html = fs.readFileSync('./views/about.html', 'utf-8');
        res.write(html);
    } else if (requestUrl == '/news') {
        html = fs.readFileSync('./views/news.html', 'utf-8');
        res.write(html);
    } else {
        html = fs.readFileSync('./views/notfound.html', 'utf-8');
        res.write(html);
    }

    res.end();


});

/*
* 监听端口
* */
server.listen(9091, function (error) {
    if (error) {
        console.log(error);
    } else {
        console.log('server is runing at port' + 9091);
    }
})
